const express = require('express');
const app = express();
const path = require('path');
const fs = require('fs');
const url = require('url');
const time = require('time-stamp');////引入时间
const userData = require('./2.express');//引入模块化
console.log(time('YYYY年MM月DD日 HH:mm:ss'));

//监听服务器
app.listen(3000, () => {
    console.log('服务器已开启');
})

app.use(userData);//使用模块化

//post接参
app.use(express.urlencoded({ extended: false }));//接受中间值参数格式
app.use(express.json());//接受中间值对象格式

// 中间件
app.use((req, res, next) => {
    req.time = time('YYYY年MM月DD日 HH:mm:ss');//中间件传送时间
    
    next();
})

// 后台数据
let data = path.join(__dirname, 'persons.json');//json文的路径
let obj = fs.readFileSync(data, 'utf-8');//读取json文件
obj = JSON.parse(obj)//转json对象

// 注册
// 接受表单传过来的数据，判断后台数据是否有此账号，有提示已存在此用户，没有追加到后台数据
app.post('/doregister', (req, res) => {

    //拿到用户的数据
    let { tel, pass, pass2 } = req.body;
    console.log(tel, pass);//{ tel: '1', pass: '1', pass2: '1' } 


    //传来的参数不能为空
    if (!tel || !pass || !pass2) {
        next('请输入有效内容');
        return
    }

    //判断两次密码输入是否一致
    if (pass != pass2) {
        next('连词输入密码不一致');
        return;
    }

    //遍历后台数据，判断后台数据的每一项是否等等于用户输入的项目
    let s = obj.find(item => item.username == tel);

    //如果有说明已经注册，没有就追加
    if (s) {
        res.send('用户已存在');
        return;
    }

    // 没有就追加
    obj.push({ username: tel, password: pass, time: req.time });
    fs.writeFileSync(data, JSON.stringify(obj));
    res.send({ code: 200, msg: '注册成功' })

})


// // 登录
// // 接受表单传过来的数据，判断后台数据是否有此账号，有提示已存在此用户，没有追加到后台数据
// app.post('/dologin', (req, res) => {

//     //拿到用户的数据
//     let { tel, pass } = req.body;
//     console.log(tel, pass);//{ tel: '1', pass: '1', pass2: '1' }

//     // // 后台数据
//     // let data = path.join(__dirname, 'persons.json');//json文的路径
//     // let obj = fs.readFileSync(data, 'utf-8');//读取json文件
//     // obj = JSON.parse(obj)//转json对象


//     if (!tel || !pass) {
//         next('用户命密码不能为空');
//         return
//     }

//     //遍历后台数据，判断后台数据的每一项是否等等于用户输入的项目
//     let s = obj.find(item => item.username == tel && item.password == pass);

//     //如果有说明已经注册，没有就追加
//     if (s) {
//         res.send({ code: 200, msg: '登录成功' });
//         return;
//     } else {
//         next('用户名或密码错误')
//     }
// })



